package repository.relsys.domainmodel.ltool.pojos;

import java.util.Collection;

import java.util.LinkedList;

import repository.relsys.domainmodel.general.ResourceCls;
import repository.relsys.domainmodel.ltool.interfaces.Feature;
import repository.relsys.domainmodel.ltool.interfaces.GeneralInformation;
import repository.relsys.domainmodel.ltool.interfaces.LearningTool;
import repository.relsys.domainmodel.ltool.interfaces.TechnicalInformation;
import thewebsemantic.Namespace;
import thewebsemantic.RdfProperty;
import thewebsemantic.RdfType;

@Namespace("http://diplomski.nelakolundzija.org/LTontology.rdf#")
@RdfType("LearningTool")
public class LearningToolCls extends ResourceCls implements LearningTool {

	private String title;
	private Collection<Feature> features =new LinkedList<Feature>();
	private TechnicalInformation techInfo;
	private GeneralInformation genInfo;
	private String imgURL;

	public void addFeature(Feature feature) {

		if (feature != null)
			getFeatures().add(feature);

	}

	@Deprecated
	public LearningToolCls(){
		super();
	}
	@Deprecated
	public LearningToolCls(String uri){
		super(uri);
	}
	

	@RdfProperty("http://diplomski.nelakolundzija.org/LTontology.rdf#hasFeature")
	public Collection<Feature> getFeatures() {

		return features;
	}

	@RdfProperty("http://diplomski.nelakolundzija.org/LTontology.rdf#title")
	public String getTitle() {

		return title;
	}

	public void setFeatures(Collection<Feature> features) {

		if (features != null)
			this.features = features;
	}

	public void setTitle(String title) {

		if (title != null)
			this.title = title;
	}

	@RdfProperty("http://diplomski.nelakolundzija.org/LTontology.rdf#hasGeneralInfo")
	public GeneralInformation getGeneralInfo() {

		return genInfo;
	}

	@RdfProperty("http://diplomski.nelakolundzija.org/LTontology.rdf#hasTechnicalInfo")
	public TechnicalInformation getTechnicalInfo() {

		return techInfo;
	}

	public void setGeneralInfo(GeneralInformation generalInformation) {
		if (generalInformation != null)
			this.genInfo = generalInformation;

	}

	public void setTechnicalInfo(TechnicalInformation technicalInformation) {
		if (technicalInformation != null)
			this.techInfo = technicalInformation;

	}

	@RdfProperty("http://diplomski.nelakolundzija.org/LTontology.rdf#toolImgURL")
	public String getToolImgURl() {

		return imgURL;
	}

	@Override
	public void setToolImgURL(String s) {
		this.imgURL = s;

	}

}
